package top.lfyao.designpattern.details.command;

import java.util.List;

/**
 * 用来声明执行操作的接口
 */
public abstract class Command {
    //接收者
    protected List<Reciever> recievers;

    public Command(List<Reciever> recievers) {
        this.recievers = recievers;
    }

    public void addRecievers(Reciever reciever) {
        recievers.add(reciever);
    }

    public abstract void execute();

    class  test{}


}

class ConcreteCommand extends Command {

    public ConcreteCommand(List<Reciever> recievers) {
        super(recievers);
    }

    @Override
    public void execute() {
        for (Reciever reciever:recievers)reciever.action();
    }



}
